class LyBroadcasterModel {
  LyBroadcasterModel({
    this.userId,
    this.nickname,
    this.avatar,
    this.avatarMapPath,
    this.gender,
    this.age,
    this.country,
    this.status,
    this.callCoins,
    this.unit,
    this.videoMapPaths,
    this.followNum,
    this.isFriend,
    this.isMultiple,
    this.applicableTags,
    this.about,
    this.isSignBroadcaster,
    this.showRoomVersion,
  });

  LyBroadcasterModel.fromJson(dynamic json) {
    userId = json['userId'];
    nickname = json['nickname'];
    avatar = json['avatar'];
    avatarMapPath = json['avatarMapPath'];
    gender = json['gender'];
    age = json['age'];
    country = json['country'];
    status = json['status'];
    callCoins = json['callCoins'];
    unit = json['unit'];
    videoMapPaths = json['videoMapPaths'] != null
        ? json['videoMapPaths'].cast<String>()
        : [];
    followNum = json['followNum'];
    isFriend = json['isFriend'];
    isMultiple = json['isMultiple'];
    applicableTags = json['applicableTags'] != null
        ? json['applicableTags'].cast<String>()
        : [];
    about = json['about'];
    isSignBroadcaster = json['isSignBroadcaster'];
    showRoomVersion = json['showRoomVersion'];
  }
  String? userId;
  String? nickname;
  String? avatar;
  String? avatarMapPath;
  num? gender;
  num? age;
  String? country;
  String? status;
  num? callCoins;
  String? unit;
  List<String>? videoMapPaths;
  num? followNum;
  bool? isFriend;
  bool? isMultiple;
  List<String>? applicableTags;
  String? about;
  bool? isSignBroadcaster;
  num? showRoomVersion;
  LyBroadcasterModel copyWith({
    String? userId,
    String? nickname,
    String? avatar,
    String? avatarMapPath,
    num? gender,
    num? age,
    String? country,
    String? status,
    num? callCoins,
    String? unit,
    List<String>? videoMapPaths,
    num? followNum,
    bool? isFriend,
    bool? isMultiple,
    List<String>? applicableTags,
    String? about,
    bool? isSignBroadcaster,
    num? showRoomVersion,
  }) =>
      LyBroadcasterModel(
        userId: userId ?? this.userId,
        nickname: nickname ?? this.nickname,
        avatar: avatar ?? this.avatar,
        avatarMapPath: avatarMapPath ?? this.avatarMapPath,
        gender: gender ?? this.gender,
        age: age ?? this.age,
        country: country ?? this.country,
        status: status ?? this.status,
        callCoins: callCoins ?? this.callCoins,
        unit: unit ?? this.unit,
        videoMapPaths: videoMapPaths ?? this.videoMapPaths,
        followNum: followNum ?? this.followNum,
        isFriend: isFriend ?? this.isFriend,
        isMultiple: isMultiple ?? this.isMultiple,
        applicableTags: applicableTags ?? this.applicableTags,
        about: about ?? this.about,
        isSignBroadcaster: isSignBroadcaster ?? this.isSignBroadcaster,
        showRoomVersion: showRoomVersion ?? this.showRoomVersion,
      );
  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['userId'] = userId;
    map['nickname'] = nickname;
    map['avatar'] = avatar;
    map['avatarMapPath'] = avatarMapPath;
    map['gender'] = gender;
    map['age'] = age;
    map['country'] = country;
    map['status'] = status;
    map['callCoins'] = callCoins;
    map['unit'] = unit;
    map['videoMapPaths'] = videoMapPaths;
    map['followNum'] = followNum;
    map['isFriend'] = isFriend;
    map['isMultiple'] = isMultiple;
    map['applicableTags'] = applicableTags;
    map['about'] = about;
    map['isSignBroadcaster'] = isSignBroadcaster;
    map['showRoomVersion'] = showRoomVersion;
    return map;
  }
}
